package com.giveu.signature.config;

import java.util.Properties;

import org.springframework.aop.support.JdkRegexpMethodPointcut;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.context.request.RequestContextListener;

import com.giveu.common.admin.web.ConfigListener;
import com.giveu.common.admin.web.XssFilter;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;

@Configuration
public class SignWebConfig {
    
//    @Bean
//    public JdkRegexpMethodPointcut druidStatPointcut(){
//        JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
//        String patterns = "com.giveu.*.module.*.service.*";
//        //可以set多个
//        druidStatPointcut.setPatterns(patterns);
//        return druidStatPointcut;
//    }

//    /**
//     * xssFilter注册
//     */
//    @Bean
//    public FilterRegistrationBean xssFilterRegistration() {
//    	
//    	 FilterRegistrationBean registration = new FilterRegistrationBean(new XssFilter());
//         registration.addUrlPatterns("test/*");
//         registration.
//         return registration;
//    }
//
//    /**
//     * RequestContextListener注册
//     */
//    @Bean
//    public ServletListenerRegistrationBean<RequestContextListener> requestContextListenerRegistration() {
//        return new ServletListenerRegistrationBean<>(new RequestContextListener());
//    }
//
//    /**
//     * ConfigListener注册
//     */
//    @Bean
//    public ServletListenerRegistrationBean<ConfigListener> configListenerRegistration() {
//        return new ServletListenerRegistrationBean<>(new ConfigListener());
//    }
//
//    /**
//     * 验证码生成相关
//     */
//    @Bean
//    public DefaultKaptcha kaptcha() {
//        Properties properties = new Properties();
//        properties.put("kaptcha.border", "no");
//        properties.put("kaptcha.border.color", "105,179,90");
//        properties.put("kaptcha.textproducer.font.color", "blue");
//        properties.put("kaptcha.image.width", "125");
//        properties.put("kaptcha.image.height", "50");
//        properties.put("kaptcha.textproducer.font.size", "40");
//        properties.put("kaptcha.session.key", "code");
//        properties.put("kaptcha.textproducer.char.length", "4");
//        properties.put("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");
//        Config config = new Config(properties);
//        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
//        defaultKaptcha.setConfig(config);
//        return defaultKaptcha;
//    }
}
